
package app.controller.init
{
    import app.AppConstants;
    import app.controller.core.CreateNewActionCmd;
    import app.controller.core.CreateNewStateCmd;
    import app.controller.core.DecodeToAS3Cmd;
    import app.controller.core.DecodeToJSONCmd;
    import app.controller.core.DecodeToXMLCmd;
    import app.controller.core.DeselectNodeCmd;
    import app.controller.core.FlushFlareDataCmd;
    import app.controller.core.OpenJSONCmd;
    import app.controller.core.OpenXMLCmd;
    import app.controller.core.PopulatePackageComboCmd;
    import app.controller.core.PopupStateFormCmd;
    import app.controller.core.RemoveActionCmd;
    import app.controller.core.RemoveStateCmd;
    import app.controller.core.SelectCurrentNodeCmd;
    import app.controller.core.SelectInitialStateCmd;
    import app.controller.core.ToggleAutoUpdateCmd;
    import app.controller.core.UpdateVisualisationCmd;
    import app.model.flare.proxies.FlareDataProxy;
    
    import org.puremvc.as3.multicore.interfaces.INotification;
    import org.puremvc.as3.multicore.patterns.command.SimpleCommand;

    /**
     * Create and inject the StateMachine.
     */
    public class RegisterCoreCmds extends SimpleCommand
    {
        
        override public function execute ( note:INotification ) : void {
  		    facade.registerCommand( AppConstants.CREATE_NEW_STATE, CreateNewStateCmd );
			facade.registerCommand( AppConstants.REMOVE_STATE, RemoveStateCmd );
			facade.registerCommand( AppConstants.TOGGLE_AUTO_UPDATE, ToggleAutoUpdateCmd );
			facade.registerCommand( AppConstants.UPDATE_VISUALISATION, UpdateVisualisationCmd );
			facade.registerCommand( AppConstants.CREATE_NEW_ACTION, CreateNewActionCmd );
			facade.registerCommand( AppConstants.FLUSH_FLARE_DATA, FlushFlareDataCmd );
			facade.registerCommand( AppConstants.REMOVE_ACTION, RemoveActionCmd );
			facade.registerCommand( AppConstants.NODE_CLICK, PopupStateFormCmd );
			
			facade.registerCommand( AppConstants.EDIT_CLOSE, DeselectNodeCmd );
			facade.registerCommand( AppConstants.SET_CURRENT_NODE, SelectCurrentNodeCmd );
			facade.registerCommand( FlareDataProxy.DATA_PARSED, PopulatePackageComboCmd );
			facade.registerCommand( AppConstants.OPEN_JSON_FROM_URL, OpenJSONCmd );
			facade.registerCommand( AppConstants.OPEN_XML_FROM_URL, OpenXMLCmd );
			facade.registerCommand( AppConstants.DECODE_JSON, DecodeToJSONCmd)
			facade.registerCommand( AppConstants.DECODE_XML, DecodeToXMLCmd );
			facade.registerCommand( AppConstants.DECODE_AS3, DecodeToAS3Cmd );
			facade.registerCommand( AppConstants.CHANGE_INITIAL_STATE, SelectInitialStateCmd );
			

					
		}
    }
}